home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / ip / ppp / eap-draft.txt.Z / eap-draft.txt
Encoding:
Text File  |  1995-03-25  |  29.5 KB  |  1,268 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          L J Blunk
  8.                                                           J R Vollbrecht
  9. Internet Draft                                       Merit Network, Inc.
  10. expires in six months                                         March 1995
  11.  
  12.  
  13.               PPP Extensible Authentication Protocol (EAP)
  14.                    <draft-ietf-pppext-eap-auth-00.txt>
  15.  
  16.  
  17.  
  18. Status of this Memo
  19.  
  20.    This document is the product of the Point-to-Point Protocol
  21.    Extensions Working Group of the Internet Engineering Task Force
  22.    (IETF).  Comments should be submitted to the ietf-ppp@merit.edu
  23.    mailing list.
  24.  
  25.    Distribution of this memo is unlimited.
  26.  
  27.    This document is an Internet-Draft.  Internet-Drafts are working
  28.    documents of the Internet Engineering Task Force (IETF), its areas,
  29.    and its working groups.  Note that other groups may also distribute
  30.    working documents as Internet-Drafts.
  31.  
  32.    Internet-Drafts are draft documents valid for a maximum of six months
  33.    and may be updated, replaced, or obsoleted by other documents at any
  34.    time.  It is not appropriate to use Internet-Drafts as reference
  35.    material or to cite them other than as ``work in progress.''
  36.  
  37.    To learn the current status of any Internet-Draft, please check the
  38.    ``1id-abstracts.txt'' listing contained in the Internet-Drafts
  39.    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  40.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  41.    ftp.isi.edu (US West Coast).
  42.  
  43. Abstract
  44.  
  45.    The Point-to-Point Protocol (PPP) [1] provides a standard method for
  46.    transporting multi-protocol datagrams over point-to-point links.
  47.  
  48.    PPP also defines an extensible Link Control Protocol, which allows
  49.    negotiation of an Authentication Protocol for authenticating its peer
  50.    before allowing Network Layer protocols to transmit over the link.
  51.  
  52.    This document defines the PPP Extensible Authentication Protocol.
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Vollbrecht & Blunk       expires in six months                  [Page i]
  59. DRAFT                           PPP EAP                       March 1995
  60.  
  61.  
  62.                            Table of Contents
  63.  
  64.  
  65.      1.     Introduction ..........................................    1
  66.         1.1       Specification of Requirements ...................    1
  67.         1.2       Terminology .....................................    2
  68.  
  69.      2.     PPP Extensible Authentication Protocol (EAP) ..........    3
  70.         2.1       Configuration Option Format .....................    5
  71.         2.2       Packet Format ...................................    6
  72.            2.2.1  Request and Response ............................    7
  73.            2.2.2  Success and Failure .............................    9
  74.  
  75.      3.     Initial EAP Request/Response Types ....................   10
  76.         3.1       Identity ........................................   11
  77.         3.2       Notification ....................................   12
  78.         3.3       Nak .............................................   13
  79.         3.4       Password ........................................   14
  80.         3.5       MD5-Challenge ...................................   15
  81.         3.6       MD4-S/Key and MD5-S/Key .........................   16
  82.         3.7       Echoed User Input and Non-echoed User Input .....   17
  83.         3.8       Kerberos V4 and Kerberos V5 .....................   18
  84.         3.9       Vendor specific .................................   19
  85.  
  86.         REFERENCES ................................................   21
  87.  
  88.         ACKNOWLEDGEMENTS ..........................................   21
  89.  
  90.         CHAIR'S ADDRESS ...........................................   21
  91.  
  92.         AUTHOR'S ADDRESS ..........................................   21
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. Vollbrecht & Blunk       expires in six months                  [Page ii]
  113. DRAFT                           PPP EAP                       March 1995
  114.  
  115.  
  116. 1.  Introduction
  117.  
  118.    In order to establish communications over a point-to-point link, each
  119.    end of the PPP link must first send LCP packets to configure the data
  120.    link during Link Establishment phase.  After the link has been
  121.    established, PPP provides for an optional Authentication phase before
  122.    proceeding to the Network-Layer Protocol phase.
  123.  
  124.    By default, authentication is not mandatory.  If authentication of
  125.    the link is desired, an implementation MUST specify the
  126.    Authentication-Protocol Configuration Option during Link
  127.    Establishment phase.
  128.  
  129.    These authentication protocols are intended for use primarily by
  130.    hosts and routers that connect to a PPP network server via switched
  131.    circuits or dial-up lines, but might be applied to dedicated links as
  132.    well.  The server can use the identification of the connecting host
  133.    or router in the selection of options for network layer negotiations.
  134.  
  135.    This document defines the PPP Extensible Authentication Protocol
  136.    (EAP).  The Link Establishment and Authentication phases, and the
  137.    Authentication-Protocol Configuration Option, are defined in The
  138.    Point-to-Point Protocol (PPP) [1].
  139.  
  140.  
  141. 1.1.  Specification of Requirements
  142.  
  143.    In this document, several words are used to signify the requirements
  144.    of the specification.  These words are often capitalized.
  145.  
  146.    MUST      This word, or the adjective "required", means that the
  147.              definition is an absolute requirement of the specification.
  148.  
  149.    MUST NOT  This phrase means that the definition is an absolute
  150.              prohibition of the specification.
  151.  
  152.    SHOULD    This word, or the adjective "recommended", means that there
  153.              may exist valid reasons in particular circumstances to
  154.              ignore this item, but the full implications must be
  155.              understood and carefully weighed before choosing a
  156.              different course.
  157.  
  158.    MAY       This word, or the adjective "optional", means that this
  159.              item is one of an allowed set of alternatives.  An
  160.              implementation which does not include this option MUST be
  161.              prepared to interoperate with another implementation which
  162.              does include the option.
  163.  
  164.  
  165.  
  166.  
  167. Vollbrecht & Blunk       expires in six months                  [Page 1]
  168. DRAFT                           PPP EAP                       March 1995
  169.  
  170.  
  171. 1.2.  Terminology
  172.  
  173.    This document frequently uses the following terms:
  174.  
  175.    authenticator
  176.              The end of the link requiring the authentication.  The
  177.              authenticator specifies the authentication protocol to be
  178.              used in the Configure-Request during Link Establishment
  179.              phase.
  180.  
  181.    peer      The other end of the point-to-point link; the end which is
  182.              being authenticated by the authenticator.
  183.  
  184.    silently discard
  185.              This means the implementation discards the packet without
  186.              further processing.  The implementation SHOULD provide the
  187.              capability of logging the error, including the contents of
  188.              the silently discarded packet, and SHOULD record the event
  189.              in a statistics counter.
  190.  
  191.    displayable message
  192.              This is interpreted to be human readable string of
  193.              characters, and MUST NOT affect operation of the protocol.
  194.              It is recommended that the message contain displayable
  195.              ASCII characters 32 through 126 decimal.  Mechanisms for
  196.              extension to other character sets are the topic of future
  197.              research.
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222. Vollbrecht & Blunk       expires in six months                  [Page 2]
  223. DRAFT                           PPP EAP                       March 1995
  224.  
  225.  
  226. 2.  PPP Extensible Authentication Protocol (EAP)
  227.  
  228.    The PPP Extensible Authentication Protocol (EAP)  is a general
  229.    protocol for PPP authentication which supports multiple
  230.    authentication mechanisms.  EAP does not select a specific
  231.    authentication mechanism at Link Control Phase, but rather postpones
  232.    this until the Authentication Phase.  This allows the authenticator
  233.    to request more information before determining the specific
  234.    authentication mechanism.  This also permits the use of a "back-end"
  235.    server which actually implements the various mechanisms while the PPP
  236.    authenticator merely passes through the authentication exchange.
  237.  
  238.    1. After the Link Establishment phase is complete, the authenticator
  239.       sends one or more Requests to authenticate the peer.  The Request
  240.       has a type field to indicate what is being requested.  Examples of
  241.       Request types include "identity", "password", "MD5-challenge",
  242.       "generic user input" (for token cards), "s/key", etc.  The
  243.       "password" and "MD5-challenge" requests correspond closely to the
  244.       "PAP" and "CHAP" authentication protocols, respectively.
  245.       Typically, the authenticator will send an initial "identity"
  246.       Request followed by one or more Requests for authentication
  247.       information.   However, an initial "identity" Request is not
  248.       required, and may be bypassed in cases where the identity is
  249.       presumed (leased lines, dedicated dial-ups, etc.).
  250.  
  251.    2. The peer sends a Response packet in reply to each Request.  The
  252.       Response will vary with each Request type.
  253.  
  254.    3. The authenticator terminates the authentication phase with a
  255.       Success or Failure reply.  On a Success reply, the authenticator
  256.       will proceed to the Network Phase.  On a Failure reply, the link
  257.       will be terminated.
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277. Vollbrecht & Blunk       expires in six months                  [Page 3]
  278. DRAFT                           PPP EAP                       March 1995
  279.  
  280.  
  281. Advantages
  282.  
  283.    The EAP protocol can support multiple authentication mechanisms
  284.    without having to pre-negotiate a particular one during LCP Phase.
  285.  
  286.    Certain devices (e.g. a NAS) do not necessarily have to understand
  287.    each request type and may be able to simply act as a passthrough
  288.    agent for a "back-end" server on a host.  The device only need look
  289.    for the success/failure code to terminate the authentication phase
  290.  
  291. Disadvantages
  292.  
  293.    EAP does require the addition of a new authentication type to LCP and
  294.    thus PPP implementations will need to be modified to use it.  It also
  295.    strays from the previous PPP authentication model of negotiating a
  296.    specific authentication mechanism during LCP.
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332. Vollbrecht & Blunk       expires in six months                  [Page 4]
  333. DRAFT                           PPP EAP                       March 1995
  334.  
  335.  
  336. 2.1.  Configuration Option Format
  337.  
  338.    A summary of the Authentication-Protocol Configuration Option format
  339.    to negotiate the EAP Authentication Protocol is shown below.  The
  340.    fields are transmitted from left to right.
  341.  
  342.     0                   1                   2                   3
  343.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  344.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  345.    |     Type      |    Length     |     Authentication-Protocol   |
  346.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  347.  
  348.  
  349.    Type
  350.  
  351.       3
  352.  
  353.    Length
  354.  
  355.       4
  356.  
  357.    Authentication-Protocol
  358.  
  359.       ???? (Hex) for PPP Extensible Authentication Protocol (EAP)
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387. Vollbrecht & Blunk       expires in six months                  [Page 5]
  388. DRAFT                           PPP EAP                       March 1995
  389.  
  390.  
  391. 2.2.  Packet Format
  392.  
  393.    Exactly one PPP EAP packet is encapsulated in the Information field
  394.    of a PPP Data Link Layer frame where the protocol field indicates
  395.    type hex ???? (PPP EAP).  A summary of the EAP packet format is shown
  396.    below.  The fields are transmitted from left to right.
  397.  
  398.     0                   1                   2                   3
  399.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  400.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  401.    |     Code      |  Identifier   |            Length             |
  402.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  403.    |    Data ...
  404.    +-+-+-+-+
  405.  
  406.  
  407.    Code
  408.  
  409.       The Code field is one octet and identifies the type of EAP packet.
  410.       EAP Codes are assigned as follows:
  411.  
  412.          1       Request
  413.          2       Response
  414.          3       Success
  415.          4       Failure
  416.  
  417.  
  418.    Identifier
  419.  
  420.       The Identifier field is one octet and aids in matching responses
  421.       with requests.
  422.  
  423.    Length
  424.  
  425.       The Length field is two octets and indicates the length of the EAP
  426.       packet including the Code, Identifier, Length and Data fields.
  427.       Octets outside the range of the Length field should be treated as
  428.       Data Link Layer padding and should be ignored on reception.
  429.  
  430.    Data
  431.  
  432.       The Data field is zero or more octets.  The format of the Data
  433.       field is determined by the Code field.
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442. Vollbrecht & Blunk       expires in six months                  [Page 6]
  443. DRAFT                           PPP EAP                       March 1995
  444.  
  445.  
  446. 2.2.1.  Request and Response
  447.  
  448.    Description
  449.  
  450.       The Request packet is sent by the authenticator to the peer.  Each
  451.       Request has a type field which serves to indicate what is being
  452.       requested.  The authenticator MUST transmit an EAP packet with the
  453.       Code field set to 1 (Request).  Additional Request packets MUST be
  454.       sent until a valid Response packet is received, or an optional
  455.       retry counter expires.  Retransmitted Requests MUST be sent with
  456.       the same Identifier value in order to distinguish them from new
  457.       Requests.  The contents of the data field is dependent on the
  458.       Request type.  The peer MUST send a Response packet in reply to a
  459.       Request packet.  Responses MUST only be sent in reply to a
  460.       received Request and never retransmitted on a timer.  The
  461.       Identifier field of the Response MUST match that of the Request.
  462.  
  463.    A summary of the Request and Response packet format is shown below.
  464.    The fields are transmitted from left to right.
  465.  
  466.     0                   1                   2                   3
  467.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  468.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  469.    |     Code      |  Identifier   |            Length             |
  470.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  471.    |     Type      |  Type-Data ...
  472.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  473.  
  474.  
  475.    Code
  476.  
  477.       1 for Request;
  478.  
  479.       2 for Response.
  480.  
  481.    Identifier
  482.  
  483.       The Identifier field is one octet.  The Identifier field MUST be
  484.       the same if a Request packet is retransmitted due to a timeout
  485.       while waiting for a Response.  Any new Requests MUST modify the
  486.       Identifier field.  If a duplicate Response is received, it must be
  487.       silently discarded.
  488.  
  489.    Type
  490.  
  491.       The Type field is one octet.  This field indicates the Type of
  492.       Request or Response.  Only one Type may be specified per EAP
  493.       Request or Response.  Normally, the Type field of the Response
  494.  
  495.  
  496.  
  497. Vollbrecht & Blunk       expires in six months                  [Page 7]
  498. DRAFT                           PPP EAP                       March 1995
  499.  
  500.  
  501.       will be the same as the Type of the Request.  However, there is a
  502.       specific Response Type for indicating that a Request type is
  503.       unacceptable.   This Response Type will indicate an acceptable
  504.       Request type for authentication.  An initial specification of
  505.       Types follows in a later section of this document.
  506.  
  507.    Type-Data
  508.  
  509.       The Type-Data field varies with the Type of Request and the
  510.       associated Response.
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552. Vollbrecht & Blunk       expires in six months                  [Page 8]
  553. DRAFT                           PPP EAP                       March 1995
  554.  
  555.  
  556. 2.2.2.  Success and Failure
  557.  
  558.    Description
  559.  
  560.       The Success packet is sent by the authenticator to the peer to
  561.       acknowledge successful authentication.  The authenticator MUST
  562.       transmit an EAP packet with the Code field set to 3 (Success).
  563.  
  564.       If the authenticator cannot authenticate the peer (unacceptable
  565.       Responses to one or more Requests) then the implementation MUST
  566.       transmit an EAP packet with the Code field set to 4 (Failure).  An
  567.       authenticator may with to issue multiple Requests before sending a
  568.       Failure response in order to allow for human typing mistakes.
  569.  
  570.          Implementation Note: Because the Success and Failure packets
  571.          are not acknowledged, they may be potentially lost.  A peer
  572.          MUST allow for this circumstance.  The peer can use a Network
  573.          Protocol packet as an alternative indication of Success.
  574.          Likewise, the receipt of a LCP Terminate-Request can be taken
  575.          as a Failure.
  576.  
  577.    A summary of the Success and Failure packet format is shown below.
  578.    The fields are transmitted from left to right.
  579.  
  580.     0                   1                   2                   3
  581.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  582.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  583.    |     Code      |  Identifier   |            Length             |
  584.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  585.  
  586.  
  587.    Code
  588.  
  589.       3 for Success;
  590.  
  591.       4 for Failure.
  592.  
  593.    Identifier
  594.  
  595.       The Identifier field is one octet and aids in matching replies to
  596.       Responses.  The Identifier field MUST match the Indentifier field
  597.       of the Response packet that it is sent in response to.
  598.  
  599.    Length
  600.  
  601.       4
  602.  
  603.  
  604.  
  605.  
  606.  
  607. Vollbrecht & Blunk       expires in six months                  [Page 9]
  608. DRAFT                           PPP EAP                       March 1995
  609.  
  610.  
  611. 3.  Initial EAP Request/Response Types
  612.  
  613.    This section defines the initial set of EAP Types used in
  614.    Request/Response exchanges.  More Types may be defined in follow-on
  615.    documents.  The Type field is one octet and identifies the structure
  616.    of an EAP Request or Response packet.  The first 3 Types are
  617.    considered special case Types.  The remaining Types define
  618.    authentication exchanges.  The Nak Type is valid only for Response
  619.    packets, it may not be sent in a Request.  The Nak Type may only be
  620.    sent in repsonse to a Request with an authentication Type.
  621.  
  622.    The initial EAP Types are assigned as follows:
  623.  
  624.       1       Identity
  625.       2       Notification
  626.       3       Nak (Response only)
  627.       4       Password
  628.       5       MD5-Challenge
  629.       6       MD4-S/Key
  630.       7       MD5-S/Key
  631.       8       Echoed user input
  632.       9       Non-echoed user input
  633.       10      Kerberos V4
  634.       11      Kerboros V5
  635.       240-255 Vendor Specific (reserved)
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662. Vollbrecht & Blunk       expires in six months                 [Page 10]
  663. DRAFT                           PPP EAP                       March 1995
  664.  
  665.  
  666. 3.1.  Identity
  667.  
  668.    Description
  669.  
  670.       The Identity Type is used to query the identity of the peer.
  671.       Generally, the authenticator will issue this as the initial
  672.       Request.  An optional displayable message may be included to
  673.       prompt the peer.  A Response MUST be sent to this Request with a
  674.       Type of 1 (Identity).
  675.  
  676.  
  677.    Type
  678.  
  679.       1
  680.  
  681.    Type-Data
  682.  
  683.       This field MAY contain a displayable message in the Request.  The
  684.       Response uses this field to return the Identity.  If the Identity
  685.       is unknown, this field should be zero bytes in length.  The field
  686.       SHOULD NOT be null terminated.  The length of this field is
  687.       derived from the Length field of the Request/Response packet.
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717. Vollbrecht & Blunk       expires in six months                 [Page 11]
  718. DRAFT                           PPP EAP                       March 1995
  719.  
  720.  
  721. 3.2.  Notification
  722.  
  723.    Description
  724.  
  725.       The Notification Type is optionally used to convey a displayable
  726.       message from the authenticator to the peer.   The peer SHOULD
  727.       display this message to the user or log it if it cannot be
  728.       displayed.  It is intended to provide an acknowledged notification
  729.       of some imperative nature.  Examples include a password with an
  730.       expiration time that is about to expire, an S/Key id which is
  731.       nearing 0, an authentication failure warning, etc.   In most
  732.       circumstances, notification should not be required.
  733.  
  734.  
  735.    Type
  736.  
  737.       2
  738.  
  739.  
  740.    Type-Data
  741.  
  742.       The Type-Data field in the Request contains a displayable message
  743.       greater than zero octets in length.  The length of the message is
  744.       determined by Length field of the Request packet.  The message
  745.       SHOULD NOT be null terminated.  A Response MUST be sent in reply
  746.       to the Request with a Type field of 2 (Notification).  The Type-
  747.       Data field of the Response is zero octets in length.   The
  748.       Response should be sent immediately (independent of how the
  749.       message is displayed or logged).
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772. Vollbrecht & Blunk       expires in six months                 [Page 12]
  773. DRAFT                           PPP EAP                       March 1995
  774.  
  775.  
  776. 3.3.  Nak
  777.  
  778.    Description
  779.  
  780.       The Nak Type is valid only in Response messages.  It is sent in
  781.       reply to a Request where the desired authentication Type is
  782.       unacceptable.   Authentication Types are numbered 4 and above.
  783.       The Response contains the authentication Type desired by the peer.
  784.  
  785.    Type
  786.  
  787.       4
  788.  
  789.  
  790.    Type-Data
  791.  
  792.       This field MUST contain a single octet indicating the desired
  793.       authentication type.
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827. Vollbrecht & Blunk       expires in six months                 [Page 13]
  828. DRAFT                           PPP EAP                       March 1995
  829.  
  830.  
  831. 3.4.  Password
  832.  
  833.    Description
  834.  
  835.       The Password Type is analagous to the PPP PAP protocol [3].  The
  836.       Request may contain an optional displayable message to prompt the
  837.       peer.  A Repsonse MUST be sent in reply to the Request.  The
  838.       Response MAY be either of Type 4 (Password) or Type 3 (Nak).   The
  839.       Nak reply indicates the peer's desired authentication mechanism
  840.       Type.
  841.  
  842.  
  843.    Type
  844.  
  845.       4
  846.  
  847.  
  848.    Type-Data
  849.  
  850.       This field MAY contain a displayable message in the Request.  The
  851.       Response uses this field to return the Password.  The field SHOULD
  852.       NOT be null terminated.  The length of this field is derived from
  853.       the Length field of the Request/Response packet.
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882. Vollbrecht & Blunk       expires in six months                 [Page 14]
  883. DRAFT                           PPP EAP                       March 1995
  884.  
  885.  
  886. 3.5.  MD5-Challenge
  887.  
  888.    Description
  889.  
  890.       The MD5-Challenge Type is analagous to the PPP CHAP protocol [3]
  891.       (with MD5 as the specified algorithm).  The PPP Authentication
  892.       Protocols RFC [3] should be referred to for further implementation
  893.       specifics.  The Request contains a "challenge" message to the
  894.       peer.  A Repsonse MUST be sent in reply to the Request.  The
  895.       Response MAY be either of Type 5 (MD5-Challenge) or Type 3 (Nak).
  896.       The Nak reply indicates the peer's desired authentication
  897.       mechanism Type.
  898.  
  899.  
  900.    Type
  901.  
  902.       5
  903.  
  904.  
  905.    Type-Data
  906.  
  907.       The contents of the Type-Data  field is summarized below.  For
  908.       reference on the use of this fields see the PPP Authentication
  909.       Protocols RFC [3].
  910.  
  911.        0                   1                   2                   3
  912.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  913.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  914.       |  Value-Size   |  Value ...
  915.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  916.       |  Name ...
  917.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937. Vollbrecht & Blunk       expires in six months                 [Page 15]
  938. DRAFT                           PPP EAP                       March 1995
  939.  
  940.  
  941. 3.6.  MD4-S/Key and MD5-S/Key
  942.  
  943.    Description These protocols are defined in "The S/KEY One-Time
  944.    Password System" [4].  The Request contains a displayable message
  945.    consisting of the S/Key count and a seed. A Repsonse MUST be sent in
  946.    reply to the Request.  The Response MAY be either of Type 6 or 7
  947.    (MD4-S/key or MD5-S/key) or Type 3 (Nak).  The Nak reply indicates
  948.    the peer's desired authentication mechanism Type.
  949.  
  950.  
  951. Type
  952.  
  953.    6 for MD4-S/key;
  954.  
  955.    7 for MD5-S/key.
  956.  
  957.  
  958. Type-Data
  959.  
  960.    The Type-Data field contains the S/Key "challenge" (count and seed)
  961.    as a displayable message in the Request.  This field is used for the
  962.    6 words (displayable text) from the S/Key dictionary [4] in the
  963.    Response.  The messages SHOULD NOT be null terminated.  The length of
  964.    the field is derived from the Length field of the Request/Reply
  965.    packet.
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992. Vollbrecht & Blunk       expires in six months                 [Page 16]
  993. DRAFT                           PPP EAP                       March 1995
  994.  
  995.  
  996. 3.7.  Echoed User Input and Non-echoed User Input
  997.  
  998.    Description
  999.  
  1000.       The user Input type are used where a user must provide physical
  1001.       input.  The typical application would be for "Token" cards where a
  1002.       challenge or time-based token is retrieved from the card and
  1003.       entered by the user.  The non-echoed Type would be used in cases
  1004.       where the entered data is potentially sensitive and thus should be
  1005.       hidden. A Repsonse MUST be sent in reply to the Request.  The
  1006.       Response MAY be either of Type 8 or 9 (User Input) or Type 3
  1007.       (Nak).  The Nak reply indicates the peer's desired authentication
  1008.       mechanism Type.
  1009.  
  1010.  
  1011.    Type
  1012.  
  1013.       8 for Echoed User Input;
  1014.  
  1015.       9 for Non-echoed User Input.
  1016.  
  1017.  
  1018.    Type-Data
  1019.  
  1020.       The Type-Data field contains a displayable message in the Request.
  1021.       The peer must then prompt the user for input in response to the
  1022.       Request.   This field is then used to return the input in the
  1023.       Response.  The message SHOULD NOT be null terminated.   The length
  1024.       of the data is derived from the Length field of the
  1025.       Request/Response packet.
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047. Vollbrecht & Blunk       expires in six months                 [Page 17]
  1048. DRAFT                           PPP EAP                       March 1995
  1049.  
  1050.  
  1051. 3.8.  Kerberos V4 and Kerberos V5
  1052.  
  1053. These protocols are to be defined in a later document.
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102. Vollbrecht & Blunk       expires in six months                 [Page 18]
  1103. DRAFT                           PPP EAP                       March 1995
  1104.  
  1105.  
  1106. 3.9.  Vendor specific
  1107.  
  1108.    Description
  1109.  
  1110.       These Type field are reserved for Vendor Specific authentication
  1111.       mechanism.
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157. Vollbrecht & Blunk       expires in six months                 [Page 19]
  1158. DRAFT                           PPP EAP                       March 1995
  1159.  
  1160.  
  1161.    Security Considerations
  1162.  
  1163.       Security issues are the primary topic of this RFC.
  1164.  
  1165.       The interaction of the authentication protocols within PPP are
  1166.       highly implementation dependent.  This is indicated by the use of
  1167.       SHOULD throughout the document.
  1168.  
  1169.       For example, upon failure of authentication, some implementations
  1170.       do not terminate the link.  Instead, the implementation limits the
  1171.       kind of traffic in the Network-Layer Protocols to a filtered
  1172.       subset, which in turn allows the user opportunity to update
  1173.       secrets or send mail to the network administrator indicating a
  1174.       problem.
  1175.  
  1176.       There is no provision for re-tries of failed authentication.
  1177.       However, the LCP state machine can renegotiate the authentication
  1178.       protocol at any time, thus allowing a new attempt.  It is
  1179.       recommended that any counters used for authentication failure not
  1180.       be reset until after successful authentication, or subsequent
  1181.       termination of the failed link.
  1182.  
  1183.       There is no requirement that authentication be full duplex or that
  1184.       the same protocol be used in both directions.  It is perfectly
  1185.       acceptable for different protocols to be used in each direction.
  1186.       This will, of course, depend on the specific protocols negotiated.
  1187.  
  1188.       In practice, within or associated with each PPP server, there is a
  1189.       database which associates "user" names with authentication
  1190.       information ("secrets").  It is not anticipated that a particular
  1191.       named user would be authenticated by multiple methods.  This would
  1192.       make the user vulnerable to attacks which negotiate the least
  1193.       secure method from among a set (such as PAP rather than EAP).
  1194.       Instead, for each named user there should be an indication of
  1195.       exactly one method used to authenticate that user name.  If a user
  1196.       needs to make use of different authentication methods under
  1197.       different circumstances, then distinct user names SHOULD be
  1198.       employed, each of which identifies exactly one authentication
  1199.       method.
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212. Vollbrecht & Blunk       expires in six months                 [Page 20]
  1213. DRAFT                           PPP EAP                       March 1995
  1214.  
  1215.  
  1216.    References
  1217.  
  1218.       [1]   Simpson, W. A., "The Point-to-Point Protocol (PPP)", RFC
  1219.             1661.
  1220.  
  1221.       [2]   Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1700,
  1222.             USC/Information Sciences Institute, October 1994.
  1223.  
  1224.       [3]   Lloyd, B., and Simpson, W.,  "PPP Authentication Protocols",
  1225.             RFC 1334, October 1992.
  1226.  
  1227.       [4]   Haller, N., "The S/KEY One-Time Password System", RFC 1760,
  1228.             Bellcore, February 1995.
  1229.  
  1230.  
  1231.    Acknowledgments
  1232.  
  1233.       This protocol derives much of its inspiration from Dave Carrel's
  1234.       AHA draft as well as the PPP CHAP protocol [3].  Bill Simpson
  1235.       provided much of the boilerplate used throughout this document.
  1236.       Al Rubens (Merit) also provided valuable feedback.
  1237.  
  1238.  
  1239.    Chair's Address
  1240.  
  1241.       The working group can be contacted via the current chair:
  1242.  
  1243.          Fred Baker
  1244.          cisco Systems, Inc.
  1245.  
  1246.          EMail: fbaker@cisco.com
  1247.  
  1248.  
  1249.    Author's Address
  1250.  
  1251.       Questions about this memo can also be directed to:
  1252.  
  1253.          Larry J Blunk                   John R Vollbrecht
  1254.  
  1255.          EMail: ljb@merit.edu            EMail: jrv@merit.edu
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267. Vollbrecht & Blunk       expires in six months                 [Page 21]
  1268.